# Group Sessions
Data related to all the sessions in the event.

| Parameter | Description | Type | Required |
|:----------|-------------|------|----------|
| `title`  | Title of the Session | string | **yes** |
| `subtitle` | Subtitle of the Session | string | - |
| `level` | Level of the Session | string | - |
| `short-abstract` | Short Abstract of the Session | string | - |
| `long-abstract` | Long Abstract of the Session | string | - |
| `comments` | Comments of the Session | string | - |
| `starts-at` | Start date of the Session | ISO 8601 (tz-aware) | - |
| `ends-at` | End date of the Session | ISO 8601 (tz-aware) | - |
| `language` | Language of the Session | string | - |
| `slides-url` | Slide Url of the Session | string | - |
| `videos-url` | Video Url of the Session | string | - |
| `audios-url` | Audio Url of the Session | string | - |
| `signup-url` | Signup Url of the Session | string | - |
| `state` | State of the Session | string | - |
| `created-at` | Date the session was created | ISO 8601 (tz-aware) | - |
| `deleted-at` | Date the session was deleted | ISO 8601 (tz-aware) | - |
| `submitted-at` | Date the session was submitted | ISO 8601 (tz-aware) | - |
| `is-mail-sent` | Yes/No for Session accept/reject email | boolean (default: `false`) | - |
| `last-modified-at` | Date the session was modified | ISO 8601 (tz-aware) | - |
| `send-email` | Yes/No for sending Session accept/reject email | boolean | - |
| `average-rating`  | Average rating of session | float | - |


## Sessions Collection [/v1/sessions{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]
+ Parameters
    + page%5bsize%5d (optional, integer, `10`) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d (optional, integer, `2`) - Page number to fetched for the paginated response.
    + sort (optional, string, `created-at`) - Sort the resources according to the given attribute in ascending order. Append '-' to sort in descending order.
    + filter (optional, string, `[]`) - Filter according to the flask-rest-jsonapi filtering system. Please refer: http://flask-rest-jsonapi.readthedocs.io/en/latest/filtering.html for more.

### Create Sessions [POST]
Create a new session using an event_id and track_id **(Minimum Co-Organizer Access)**

+ Request (application/vnd.api+json)

    + Headers

            Authorization: JWT <Auth Key>

    + Body

            {
              "data": {
                "relationships":{
                  "event":{
                    "data":{
                      "type":"event",
                      "id":"1"
                    }
                  },
                  "track": {
                    "data":{
                        "type": "track",
                        "id": "1"
                    }
                  }
                },
                "attributes": {
                  "title": "Micropython Session",
                  "subtitle": "Title",
                  "level": "1",
                  "short-abstract": "Short Abstract",
                  "long-abstract": "The Long Abstract",
                  "comments": "Comment",
                  "starts-at": "2099-06-01T10:00:00.500127+00:00",
                  "ends-at": "2099-06-01T11:00:00.500127+00:00",
                  "language": "English",
                  "slides-url": "http://example.com/example",
                  "video-url": "http://example.com/example",
                  "audio-url": "http://example.com/example",
                  "signup-url": "http://example.com/example",
                  "state": "accepted",
                  "created-at": "2017-05-01T01:24:47.500127+00:00",
                  "deleted-at": null,
                  "submitted-at": "2017-05-01T01:24:47.500127+00:00",
                  "is-mail-sent": false,
                  "last-modified-at": "2017-05-01T01:24:47.500127+00:00"
                },
                "type": "session"
              }
            }


+ Response 201 (application/vnd.api+json)

        {
          "data": {
            "relationships": {
              "event": {
                "links": {
                  "self": "/v1/sessions/21/relationships/event",
                  "related": "/v1/sessions/21/event"
                }
              },
              "track": {
                "links": {
                  "self": "/v1/sessions/21/relationships/track",
                  "related": "/v1/sessions/21/track"
                }
              },
              "microlocation": {
                "links": {
                  "self": "/v1/sessions/21/relationships/microlocation",
                  "related": "/v1/sessions/21/microlocation"
                }
              },
              "session-type": {
                "links": {
                  "self": "/v1/sessions/21/relationships/session-type",
                  "related": "/v1/sessions/21/session-type"
                }
              },
              "creator": {
                "links": {
                  "self": "/v1/sessions/21/relationships/creator",
                  "related": "/v1/sessions/21/creator"
                }
              }
            },
            "attributes": {
              "title": "Micropython Session",
              "subtitle": null,
              "level": "1",
              "short-abstract": null,
              "average-rating": 4.25,
              "long-abstract": null,
              "comments": null,
              "starts-at": "2017-06-01T10:00:00.500127+00:00",
              "ends-at": "2017-06-01T11:00:00.500127+00:00",
              "language": "English",
              "slides-url": null,
              "video-url": null,
              "audio-url": null,
              "signup-url": null,
              "state": null,
              "created-at": "2017-05-01T01:24:47.500127+00:00",
              "deleted-at": null,
              "submitted-at": null,
              "is-mail-sent": false,
              "last-modified-at": "2017-05-01T01:24:47.500127+00:00"
            },
            "type": "session",
            "id": "21",
            "links": {
              "self": "/v1/sessions/21"
            }
          },
          "jsonapi": {
            "version": "1.0"
          },
          "links": {
            "self": "/v1/sessions/21"
          }
        }


## Sessions Details [/v1/sessions/{session_id}]
+ Parameters
    + session_id: 1 (integer) - ID of the session in the form of an integer

### Session Details [GET]
Get a single session. **(Public)**

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)

        {
          "data": {
            "relationships": {
              "event": {
                "links": {
                  "self": "/v1/sessions/1/relationships/event",
                  "related": "/v1/sessions/1/event"
                }
              },
              "track": {
                "links": {
                  "self": "/v1/sessions/1/relationships/track",
                  "related": "/v1/sessions/1/track"
                }
              },
              "microlocation": {
                "links": {
                  "self": "/v1/sessions/1/relationships/microlocation",
                  "related": "/v1/sessions/1/microlocation"
                }
              },
              "session-type": {
                "links": {
                  "self": "/v1/sessions/1/relationships/session-type",
                  "related": "/v1/sessions/1/session-type"
                }
              },
              "creator": {
                "links": {
                  "self": "/v1/sessions/1/relationships/creator",
                  "related": "/v1/sessions/1/creator"
                }
              }
            },
            "attributes": {
              "title": "Micropython Session",
              "subtitle": null,
              "level": "1",
              "short-abstract": null,
              "average-rating": 4.25,
              "long-abstract": null,
              "comments": null,
              "starts-at": "2017-06-01T10:00:00.500127+00:00",
              "ends-at": "2017-06-01T11:00:00.500127+00:00",
              "language": "English",
              "slides-url": null,
              "video-url": null,
              "audio-url": null,
              "signup-url": null,
              "state": null,
              "created-at": "2017-05-01T01:24:47.500127+00:00",
              "deleted-at": null,
              "submitted-at": null,
              "is-mail-sent": false,
              "last-modified-at": "2017-05-01T01:24:47.500127+00:00"
            },
            "type": "session",
            "id": "1",
            "links": {
              "self": "/v1/sessions/1"
            }
          },
          "jsonapi": {
            "version": "1.0"
          },
          "links": {
            "self": "/v1/sessions/1"
          }
        }


### Update Session [PATCH]
Update a single session by `id`. **(Minimum Co-Organizer Access)**

| Key | Description | Type | Required |
|:----------|-------------|------|----------|
| `id`  | ID of the record to update | integer | **yes** |


+ Request (application/vnd.api+json)

    + Headers

            Authorization: JWT <Auth Key>

    + Body

            {
              "data": {
                "attributes": {
                  "title": "Micropython Session",
                  "level": "1",
                  "starts-at": "2099-06-01T10:00:00.500127+00:00",
                  "ends-at": "2099-06-01T11:00:00.500127+00:00",
                  "created-at": "2017-05-01T01:24:47.500127+00:00",
                  "is-mail-sent": false
                },
                "type": "session",
                "id": "1"
              }
            }

+ Response 200 (application/vnd.api+json)

        {
          "data": {
            "relationships": {
              "event": {
                "links": {
                  "self": "/v1/sessions/1/relationships/event",
                  "related": "/v1/sessions/1/event"
                }
              },
              "track": {
                "links": {
                  "self": "/v1/sessions/1/relationships/track",
                  "related": "/v1/sessions/1/track"
                }
              },
              "microlocation": {
                "links": {
                  "self": "/v1/sessions/1/relationships/microlocation",
                  "related": "/v1/sessions/1/microlocation"
                }
              },
              "session-type": {
                "links": {
                  "self": "/v1/sessions/1/relationships/session-type",
                  "related": "/v1/sessions/1/session-type"
                }
              },
              "creator": {
                "links": {
                  "self": "/v1/sessions/1/relationships/creator",
                  "related": "/v1/sessions/1/creator"
                }
              }
            },
            "attributes": {
              "title": "Micropython Session",
              "subtitle": null,
              "level": "1",
              "short-abstract": null,
              "average-rating": 4.25,
              "long-abstract": null,
              "comments": null,
              "starts-at": "2017-06-01T10:00:00.500127+00:00",
              "ends-at": "2017-06-01T11:00:00.500127+00:00",
              "language": "English",
              "slides-url": null,
              "video-url": null,
              "audio-url": null,
              "signup-url": null,
              "state": null,
              "created-at": "2017-05-01T01:24:47.500127+00:00",
              "deleted-at": null,
              "submitted-at": null,
              "is-mail-sent": false,
              "last-modified-at": "2017-05-02T01:24:47.500127+00:00"
            },
            "type": "session",
            "id": "1",
            "links": {
              "self": "/v1/sessions/1"
            }
          },
          "jsonapi": {
            "version": "1.0"
          },
          "links": {
            "self": "/v1/sessions/1"
          }
        }

### Delete Session [DELETE]
Delete a single session. **(Minimum Co-Organizer Access)**

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)

        {
          "meta": {
            "message": "Object successfully deleted"
          },
          "jsonapi": {
            "version": "1.0"
          }
        }

## List Sessions under an Event [/v1/events/{event_identifier}/sessions{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]
+ Parameters
    + event_identifier: 1 (string) - identifier or event id of the event. (b8324ae2 is an example of identifier)
    + page%5bsize%5d (optional, integer, `10`) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d (optional, integer, `2`) - Page number to fetched for the paginated response.
    + sort (optional, string, `created-at`) - Sort the resources according to the given attribute in ascending order. Append '-' to sort in descending order.
    + filter (optional, string, `[]`) - Filter according to the flask-rest-jsonapi filtering system. Please refer: http://flask-rest-jsonapi.readthedocs.io/en/latest/filtering.html for more.

### List Sessions under an Event [GET]

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)


        {
            "meta": {
                "count": 1
            },
            "data": [
                {
                    "relationships": {
                        "track": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/track",
                                "related": "/v1/sessions/1/track"
                            }
                        },
                        "speakers": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/speakers",
                                "related": "/v1/sessions/1/speakers"
                            }
                        },
                        "microlocation": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/microlocation",
                                "related": "/v1/sessions/1/microlocation"
                            }
                        },
                        "event": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/event",
                                "related": "/v1/sessions/1/event"
                            }
                        },
                        "session-type": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/session-type",
                                "related": "/v1/sessions/1/session-type"
                            }
                        }
                    },
                    "attributes": {
                        "audio-url": "http://example.com/example",
                        "subtitle": "Title",
                        "ends-at": "2017-06-01T11:00:00.500127+00:00",
                        "language": "English",
                        "short-abstract": "Short Abstract",
                        "average-rating": 4.25,
                        "slides-url": "http://example.com/example",
                        "title": "Micropython Session",
                        "created-at": "2017-07-25T02:22:35.010307+00:00",
                        "signup-url": "http://example.com/example",
                        "long-abstract": "The Long Abstract",
                        "state": "draft",
                        "submitted-at": "2017-05-01T01:24:47.500127+00:00",
                        "comments": "Comment",
                        "video-url": "http://example.com/example",
                        "level": "1",
                        "deleted-at": null,
                        "starts-at": "2017-06-01T10:00:00.500127+00:00",
                        "is-mail-sent": false,
                        "last-modified-at": "2017-07-25T02:22:35.010307+00:00"
                    },
                    "type": "session",
                    "id": "1",
                    "links": {
                        "self": "/v1/sessions/1"
                    }
                }
            ],
            "jsonapi": {
                "version": "1.0"
            },
            "links": {
                "self": "/v1/events/1/sessions"
            }
        }


## List Sessions under a Track [/v1/tracks/{track_id}/sessions{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]
+ Parameters
    + track_id: 1 (integer) - ID of the track in the form of an integer
    + page%5bsize%5d (optional, integer, `10`) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d (optional, integer, `2`) - Page number to fetched for the paginated response.
    + sort (optional, string, `created-at`) - Sort the resources according to the given attribute in ascending order. Append '-' to sort in descending order.
    + filter (optional, string, `[]`) - Filter according to the flask-rest-jsonapi filtering system. Please refer: http://flask-rest-jsonapi.readthedocs.io/en/latest/filtering.html for more.

### List Sessions under a Track [GET]

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)


        {
            "meta": {
                "count": 1
            },
            "data": [
                {
                    "relationships": {
                        "track": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/track",
                                "related": "/v1/sessions/1/track"
                            }
                        },
                        "speakers": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/speakers",
                                "related": "/v1/sessions/1/speakers"
                            }
                        },
                        "microlocation": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/microlocation",
                                "related": "/v1/sessions/1/microlocation"
                            }
                        },
                        "event": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/event",
                                "related": "/v1/sessions/1/event"
                            }
                        },
                        "session-type": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/session-type",
                                "related": "/v1/sessions/1/session-type"
                            }
                        }
                    },
                    "attributes": {
                        "audio-url": "http://example.com/example",
                        "subtitle": "Title",
                        "ends-at": "2017-06-01T11:00:00.500127+00:00",
                        "language": "English",
                        "short-abstract": "Short Abstract",
                        "average-rating": 4.25,
                        "slides-url": "http://example.com/example",
                        "title": "Micropython Session",
                        "created-at": "2017-07-25T02:22:35.010307+00:00",
                        "signup-url": "http://example.com/example",
                        "long-abstract": "The Long Abstract",
                        "state": "draft",
                        "submitted-at": "2017-05-01T01:24:47.500127+00:00",
                        "comments": "Comment",
                        "video-url": "http://example.com/example",
                        "level": "1",
                        "deleted-at": null,
                        "starts-at": "2017-06-01T10:00:00.500127+00:00",
                        "is-mail-sent": false,
                        "last-modified-at": "2017-07-25T02:22:35.010307+00:00"
                    },
                    "type": "session",
                    "id": "1",
                    "links": {
                        "self": "/v1/sessions/1"
                    }
                }
            ],
            "jsonapi": {
                "version": "1.0"
            },
            "links": {
                "self": "/v1/tracks/1/sessions"
            }
        }


## List Sessions under a Session Type [/v1/session-types/{session_type_id}/sessions{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]
+ Parameters
    + session_type_id: 1 (integer) - ID of the session_type in the form of an integer
    + page%5bsize%5d (optional, integer, `10`) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d (optional, integer, `2`) - Page number to fetched for the paginated response.
    + sort (optional, string, `created-at`) - Sort the resources according to the given attribute in ascending order. Append '-' to sort in descending order.
    + filter (optional, string, `[]`) - Filter according to the flask-rest-jsonapi filtering system. Please refer: http://flask-rest-jsonapi.readthedocs.io/en/latest/filtering.html for more.

### List Sessions under a Session Type [GET]

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)


        {
            "meta": {
                "count": 1
            },
            "data": [
                {
                    "relationships": {
                        "track": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/track",
                                "related": "/v1/sessions/1/track"
                            }
                        },
                        "speakers": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/speakers",
                                "related": "/v1/sessions/1/speakers"
                            }
                        },
                        "microlocation": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/microlocation",
                                "related": "/v1/sessions/1/microlocation"
                            }
                        },
                        "event": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/event",
                                "related": "/v1/sessions/1/event"
                            }
                        },
                        "session-type": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/session-type",
                                "related": "/v1/sessions/1/session-type"
                            }
                        }
                    },
                    "attributes": {
                        "audio-url": "http://example.com/example",
                        "subtitle": "Title",
                        "ends-at": "2017-06-01T11:00:00.500127+00:00",
                        "language": "English",
                        "short-abstract": "Short Abstract",
                        "average-rating": 4.25,
                        "slides-url": "http://example.com/example",
                        "title": "Micropython Session",
                        "created-at": "2017-07-25T02:22:35.010307+00:00",
                        "signup-url": "http://example.com/example",
                        "long-abstract": "The Long Abstract",
                        "state": "draft",
                        "submitted-at": "2017-05-01T01:24:47.500127+00:00",
                        "comments": "Comment",
                        "video-url": "http://example.com/example",
                        "level": "1",
                        "deleted-at": null,
                        "starts-at": "2017-06-01T10:00:00.500127+00:00",
                        "is-mail-sent": false,
                        "last-modified-at": "2017-07-25T02:22:35.010307+00:00"
                    },
                    "type": "session",
                    "id": "1",
                    "links": {
                        "self": "/v1/sessions/1"
                    }
                }
            ],
            "jsonapi": {
                "version": "1.0"
            },
            "links": {
                "self": "/v1/session-types/1/sessions"
            }
        }


## List Sessions under a Microlocation [/v1/microlocations/{microlocation_id}/sessions{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]
+ Parameters
    + microlocation_id: 1 (integer) - ID of the ticket in the form of an integer
    + page%5bsize%5d (optional, integer, `10`) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d (optional, integer, `2`) - Page number to fetched for the paginated response.
    + sort (optional, string, `created-at`) - Sort the resources according to the given attribute in ascending order. Append '-' to sort in descending order.
    + filter (optional, string, `[]`) - Filter according to the flask-rest-jsonapi filtering system. Please refer: http://flask-rest-jsonapi.readthedocs.io/en/latest/filtering.html for more.

### List Sessions under a Microlocation [GET]

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)


        {
            "meta": {
                "count": 1
            },
            "data": [
                {
                    "relationships": {
                        "track": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/track",
                                "related": "/v1/sessions/1/track"
                            }
                        },
                        "speakers": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/speakers",
                                "related": "/v1/sessions/1/speakers"
                            }
                        },
                        "microlocation": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/microlocation",
                                "related": "/v1/sessions/1/microlocation"
                            }
                        },
                        "event": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/event",
                                "related": "/v1/sessions/1/event"
                            }
                        },
                        "session-type": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/session-type",
                                "related": "/v1/sessions/1/session-type"
                            }
                        }
                    },
                    "attributes": {
                        "audio-url": "http://example.com/example",
                        "subtitle": "Title",
                        "ends-at": "2017-06-01T11:00:00.500127+00:00",
                        "language": "English",
                        "short-abstract": "Short Abstract",
                        "average-rating": 4.25,
                        "slides-url": "http://example.com/example",
                        "title": "Micropython Session",
                        "created-at": "2017-07-25T02:22:35.010307+00:00",
                        "signup-url": "http://example.com/example",
                        "long-abstract": "The Long Abstract",
                        "state": "draft",
                        "submitted-at": "2017-05-01T01:24:47.500127+00:00",
                        "comments": "Comment",
                        "video-url": "http://example.com/example",
                        "level": "1",
                        "deleted-at": null,
                        "starts-at": "2017-06-01T10:00:00.500127+00:00",
                        "is-mail-sent": false,
                        "last-modified-at": "2017-07-25T02:22:35.010307+00:00"
                    },
                    "type": "session",
                    "id": "1",
                    "links": {
                        "self": "/v1/sessions/1"
                    }
                }
            ],
            "jsonapi": {
                "version": "1.0"
            },
            "links": {
                "self": "/v1/microlocations/1/sessions"
            }
        }


## List Sessions under a Speaker [/v1/speakers/{speaker_id}/sessions{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]
+ Parameters
    + speaker_id: 1 (integer) - ID of the Speaker in the form of an integer
    + page%5bsize%5d (optional, integer, `10`) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d (optional, integer, `2`) - Page number to fetched for the paginated response.
    + sort (optional, string, `created-at`) - Sort the resources according to the given attribute in ascending order. Append '-' to sort in descending order.
    + filter (optional, string, `[]`) - Filter according to the flask-rest-jsonapi filtering system. Please refer: http://flask-rest-jsonapi.readthedocs.io/en/latest/filtering.html for more.

### List Sessions under a Speaker [GET]

+ Request

    + Headers

            Accept: application/vnd.api+json

            Authorization: JWT <Auth Key>

+ Response 200 (application/vnd.api+json)


        {
            "meta": {
                "count": 1
            },
            "data": [
                {
                    "relationships": {
                        "track": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/track",
                                "related": "/v1/sessions/1/track"
                            }
                        },
                        "speakers": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/speakers",
                                "related": "/v1/sessions/1/speakers"
                            }
                        },
                        "microlocation": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/microlocation",
                                "related": "/v1/sessions/1/microlocation"
                            }
                        },
                        "event": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/event",
                                "related": "/v1/sessions/1/event"
                            }
                        },
                        "session-type": {
                            "links": {
                                "self": "/v1/sessions/1/relationships/session-type",
                                "related": "/v1/sessions/1/session-type"
                            }
                        }
                    },
                    "attributes": {
                        "audio-url": "http://example.com/example",
                        "subtitle": "Title",
                        "ends-at": "2017-06-01T11:00:00.500127+00:00",
                        "language": "English",
                        "short-abstract": "Short Abstract",
                        "average-rating": 4.25,
                        "slides-url": "http://example.com/example",
                        "title": "Micropython Session",
                        "created-at": "2017-07-25T02:22:35.010307+00:00",
                        "signup-url": "http://example.com/example",
                        "long-abstract": "The Long Abstract",
                        "state": "draft",
                        "submitted-at": "2017-05-01T01:24:47.500127+00:00",
                        "comments": "Comment",
                        "video-url": "http://example.com/example",
                        "level": "1",
                        "deleted-at": null,
                        "starts-at": "2017-06-01T10:00:00.500127+00:00",
                        "is-mail-sent": false,
                        "last-modified-at": "2017-07-25T02:22:35.010307+00:00"
                    },
                    "type": "session",
                    "id": "1",
                    "links": {
                        "self": "/v1/sessions/1"
                    }
                }
            ],
            "jsonapi": {
                "version": "1.0"
            },
            "links": {
                "self": "/v1/speakers/1/sessions"
            }
        }


## Sessions States [/v1/sessions/states]

### Session States [GET]
Get possible session state transitions. **(Public)**

+ Response 200 (application/json)

        {
          "organizer": {
            "accepted": {
              "canceled": true, 
              "confirmed": true, 
              "rejected": true, 
              "withdrawn": true
            }, 
            "canceled": {
              "accepted": true, 
              "confirmed": true, 
              "rejected": true, 
              "withdrawn": true
            }, 
            "confirmed": {
              "accepted": true, 
              "canceled": true, 
              "rejected": true, 
              "withdrawn": true
            }, 
            "draft": {}, 
            "pending": {
              "accepted": true, 
              "confirmed": true, 
              "rejected": true, 
              "withdrawn": true
            }, 
            "rejected": {
              "accepted": true, 
              "confirmed": true, 
              "withdrawn": true
            }, 
            "withdrawn": {}
          }, 
          "speaker": {
            "accepted": {
              "withdrawn": true
            }, 
            "canceled": {
              "withdrawn": true
            }, 
            "confirmed": {
              "withdrawn": true
            }, 
            "draft": {
              "pending": true
            }, 
            "pending": {
              "withdrawn": true
            }, 
            "rejected": {
              "withdrawn": true
            }, 
            "withdrawn": {}
          }
        }


## Sessions State Change Mails [/v1/sessions/mails]

### Sessions State Change Mails [GET]
Get mail subject and message sent on changing session state. **(Public)**

+ Response 200 (application/json)

        {
          "accepted": {
            "message": "Hello,<br/><br/>This is an automatic message from {app_name}.<br/><br/>Your session status for the submission {session_name} for {event_name} was changed to \"Accepted\". Congratulations!<br/><br/>Your proposal will be scheduled by the event organizers and review team. Please (re)confirm your participation with the organizers of the event, if required.<br/><br/>You can also check the status and details of your submission on the session page {session_link}. You need to be logged in to view it.<br/><br/>More details about the event are on the event page at {event_link}.<br/><br/>Thank you.<br/><a href='{frontend_link}'>{app_name}</a>",
            "subject": "Accepted! Congratulations Your submission for {event_name} titled {session_name} has been Accepted"
          },
          "canceled": {
            "message": "Hello,<br/><br/>This is an automatic message from {app_name}.<br/><br/>Your session status for the submission {session_name} for {event_name} was changed to \"Canceled\".<br/><br/>The status change was done by event organizers. If there are questions about this change please contact the organizers.<br/><br/>You can also check the status and details of your submission on the session page {session_link}. You need to be logged in to view it.<br/><br/>More details about the event are on the event page at {event_link}.<br/><br/>Thank you.<br/><a href='{frontend_link}'>{app_name}</a>",
            "subject": "Canceled! Your submission for {event_name} titled {session_name} has been Canceled"
          },
          "confirmed": {
            "message": "Hello,<br/><br/>This is an automatic message from {app_name}.<br/><br/>Your session status for the submission {session_name} for {event_name} was changed to \"Confirmed\". Congratulations!<br/><br/>Your proposal will be scheduled by the event organizers and review team. Please inform the event organizers in case there are any changes to your participation.<br/><br/>You can also check the status and details of your submission on the session page {session_link}. You need to be logged in to view it.<br/><br/>More details about the event are on the event page at {event_link}.<br/><br/>Thank you.<br/><a href='{frontend_link}'>{app_name}</a>",
            "subject": "Confirmed! Congratulations Your submission for {event_name} titled {session_name} has been Confirmed"
          },
          "pending": {
            "message": "Hello,<br/><br/>This is an automatic message from {app_name}.<br/><br/>We have received your submission {session_name} for {event_name}<br/><br/>Your proposal will be reviewed by the event organizers and review team. The current status of your session is now \"Pending\".<br/><br/>You can also check the status and details of your submission on the session page {session_link}. You need to be logged in to view it.<br/><br/>More details about the event are on the event page at {event_link}.<br/><br/>Thank you.<br/><a href='{frontend_link}'>{app_name}</a>",
            "subject": "Your speaker submission for {event_name} titled {session_name}"
          },
          "recipient": "Speaker",
          "rejected": {
            "message": "Hello,<br/><br/>This is an automatic message from {app_name}.<br/><br/>Unfortunately your submission {session_name} for {event_name} was not accepted. Your session status was changed to \"Rejected\".<br/><br/>The status change was done by event organizers. If there are questions about this change please contact the organizers.<br/><br/>You can also check the status and details of your submission on the session page {session_link}. You need to be logged in to view it.<br/><br/>More details about the event are on the event page at {event_link}.<br/><br/>Thank you.<br/><a href='{frontend_link}'>{app_name}</a>",
            "subject": "Not Accepted. Your submission for {event_name} titled {session_name} was not accepted"
          },
          "withdrawn": {
            "message": "Hello,<br/><br/>This is an automatic message from {app_name}.<br/><br/>Your session status for the submission {session_name} for {event_name} was changed to \"Withdrawn\".<br/><br/>The status change was done by event organizers. If there are questions about this change please contact the organizers.<br/><br/>You can also check the status and details of your submission on the session page {session_link}. You need to be logged in to view it.<br/><br/>More details about the event are on the event page at {event_link}.<br/><br/>Thank you.<br/><a href='{frontend_link}'>{app_name}</a>",
            "subject": "Withdrawn! Your submission for {event_name} titled {session_name} has been Withdrawn"
          }
        }
